/**
 * 头文件：
 * 介绍
 * 作者
 * 时间
 **/
#ifndef __ATOL_ALL_HEAD_H__
#define __ATOL_ALL_HEAD_H__
// #define false 0
// #define true  1
// #define bool int
// #include "string.h"
// #include "stdarg.h"
// #include "stdio.h"
// #include "stdlib.h"
// #include "FreeRTOS.h"
// #include "task.h"
// #include "sockets.h"
// #include "other.h"
// #include "cm/cm_gpio.h"
// #include "cm/cm_uart.h"
// #include "cm/cm_keypad.h"
// #include "cm/cm_adc.h"
// #include "cm/cm_alarm.h"
// #include "cm/cm_i2c.h"
// #include "cmsis_os.h"
// #include "cm_sys.h"
// #include "cm_fota.h"
// #include "cm_gnss.h"
// #include "cJSON.h"
// #include "cm_tts.h"
// #include "cm/cm_audio.h"



#include "atol_user_task.h" // 这个必须放在前面 不知道为什么

#include "atol_kernel_time.h"


/*----------------------------------------------------------------------------------------------------
功能 数据定义
介绍 
----------------------------------------------------------------------------------------------------*/
#define STATE_INITIAL 0
#define STATE_WAIT    10
#define STATE_RUN     20
#define STATE_FINISH  30

#define TRIGGER_OFF   0
#define TRIGGER_ON    10


/*----------------------------------------------------------------------------------------------------
功能 设备鉴权信息
介绍 
----------------------------------------------------------------------------------------------------*/
struct DEVICE_PRIVATE_INFO_STRUCT {
	// 产品鉴权
	unsigned char ProductKey[12];
	// 设备名称
	unsigned char DeviceName[17];
	// 设备鉴权
	unsigned char DeviceSecret[33];
    // 产品名称
    unsigned char ProductName[20];
};


/*----------------------------------------------------------------------------------------------------
功能 设备基础信息
介绍 
----------------------------------------------------------------------------------------------------*/
struct DEVICE_BASE_INFO_STRUCT {
    //1. SN
    char DeviceSn[17];
    
	//2. 型号
	char DeviceModel[5];

	//3. 硬件版本
	char HardwareVersion[7];
	
	//4. 软件版本
	char SoftwareVersion[7];
    
    //5. 设备唯一编号
    char DeviceStmId[25];
    
    //6. ICCID
    char DeviceIccid[21];
    
	//7. 客户名称
	char DeviceCustomer[5];
    
    //8. 信号强度
    unsigned int SignalStrength;
    
    //9. 时间戳
    char TimeStampString[14];
};


/*----------------------------------------------------------------------------------------------------
功能 设备定位信息
介绍 
----------------------------------------------------------------------------------------------------*/
struct DEVICE_PROPERTY_LOCATION_STRUCT {
	//¾­¶È
	double Longitude;
	//Î³¶È
	double Latitude;
	//º£°Î
	double Altitude;
    //×ø±êÏµ
    char CoordinateSystem;
    //ÊÇ·ñÓÐGNSSÊý¾ÝµÄFLAG
    char GnssFlag;
};


/*----------------------------------------------------------------------------------------------------
# 函数功能 定义结构体
# 参数介绍
----------------------------------------------------------------------------------------------------*/
// 设备鉴权信息结构体
struct DEVICE_PRIVATE_INFO_STRUCT DevicePrivateInfoStruct;

// 设备基础信息结构体
struct DEVICE_BASE_INFO_STRUCT DeviceBaseInfoStruct;

// 设备位置信息结构体
struct DEVICE_PROPERTY_LOCATION_STRUCT DevicePropertyLocationStruct;




















#endif